1. Field of the Invention
The present invention relates to a broadcast receiving apparatus, and more particularly to a broadcast receiving apparatus which performs a tuning process in accordance with a tuning request issued by a software application or the like.
2. Description of the Background Art
FIG. 12 is a diagram illustrating a timing scheme with which tuning requests are received and tuning processes are performed in a conventional broadcast receiving apparatus. In FIG. 12, a “tuning requesting end”, which is an input means such as a remote control operated by a user, issues tuning requests. When tuning requests 1 to 3 are consecutively made as shown in FIG. 12, the broadcast receiving apparatus sequentially performs tuning processes corresponding to the respective tuning requests. Furthermore, if further tuning requests (Request 4 and Request 5 shown in FIG. 12) are made during a tuning process, the broadcast receiving apparatus performs tuning processes corresponding to the further tuning requests after the tuning processes for the tuning requests which have already been received are all completed. Thus, in this conventional broadcast receiving apparatus, all issued tuning requests are stored, and tuning processes are performed for all such tuning requests. Therefore, it can take a long time before all of the tuning processes are completed in the case where a large number of tuning requests are consecutively issued.
In view of the above problem, some conventional broadcast receiving apparatuses are arranged so as to realize more efficient tuning processes corresponding to consecutive tuning requests. One such instance employs a special remote control to better handle consecutive tuning requests being issued by a user. This remote control observes a certain waiting period after the user operates the remote control to issue a tuning request. If no further tuning requests are issued during this period, the remote control transmits the tuning request to the broadcast receiving apparatus. As a result, the number of tuning requests which are transmitted to the broadcast receiving apparatus can be decreased in the case where the user uses this remote control to issue consecutive tuning requests. Thus, the amount of time required for the tuning process when a user issues consecutive tuning requests can be reduced.
Another instance of handling consecutive tuning requests is a method where any tuning requests that are issued during a tuning process are not received, or ignored. This method will be described with respect to the exemplary case illustrated in FIG. 12. No tuning processes are performed for Tuning Requests 2 and 3, which are issued during Tuning Process 1. A tuning process is performed for Tuning Request 4, which is issued after Tuning Process 1 is completed. No tuning process is performed for Tuning Request 5, which is issued during the processing of Tuning Process 4. This method also reduces the amount of time required for the tuning processes when a user consecutively issues tuning requests.
In recent years, environments for allowing software applications (hereinafter simply referred to as “applications”) to operate on broadcast receiving apparatuses are coming into existence. As used herein, an “application” is defined as a program which is executed to attain various purposes on a broadcast receiving apparatus. An application may issue a tuning request for its own purpose. An example of such an environment is a broadcast receiving apparatus which conforms to the DVB-MHP (Digital Video Broadcasting Multimedia Home Platform) standard. An application which can be run on a broadcast receiving apparatus conforming to the DVB-MHP standard can issue a tuning request by calling a tuning API (Application Program Interface) which is provided on the broadcast receiving apparatus. Under the DVB-MHP standard, calling of a tuning API is an asynchronous process, defined so as to “return to execution of the application once the issuance of a tuning request is completed”. This implies that, after an application has called the tuning API to issue a tuning request, it is capable of performing a next operation without waiting for a tuning process to be completed. In other words, an application which runs on a broadcast receiving apparatus conforming to the DVB-MHP standard can issue a large number of tuning requests during a tuning process. Thus, it is possible for a large number of tuning requests to be issued in a short period of time.
In the above-described environment, the problem associated with a long time being required for tuning processes becomes even more pronounced. The reason is that the number of tuning requests which an application can issue in a given period of time is far greater than the number of tuning requests which a human user can issue by using a remote control. Therefore, according to the above-described method where all tuning requests are met with corresponding tuning processes being performed, a huge amount of time may be required to complete all tuning processes in the case where a large number of applications (i.e., more than those which can be issued by a human user) are issued from an application during a tuning process.
Moreover, since a long period of time will be spent before all tuning processes can be completed, it is possible for even more tuning requests to be issued while the currently issued tuning requests are being processed. As a result, the large number of tuning requests being issued in a short period time may eventually result in a growing heap of more and more tuning requests to be processed. Under the conventional method where all tuning processes must be performed, it is necessary to store the tuning requests issued during a tuning process until corresponding tuning processes are performed. Therefore, in the case where an application issues a large number of tuning requests in a short period of time, the conventional method will require the presence of a memory, of an indefinite size, for storing the tuning requests. If such a memory is not provided, it is possible for the processes not to be properly performed due to insufficient memory resources.
In the above-described method where any tuning requests issued during a tuning process are not accepted, no tuning processes are performed for tuning requests which are issued during a tuning process. Therefore, according to this method, even necessary tuning processes may not be performed. For example, a plurality of tuning requests may be issued from a plurality of applications during a tuning process. In such a case, none of the necessary tuning processes for the tuning requests issued from the plurality of applications is performed according to the above-described method where any tuning requests issued during a tuning process are not accepted. Thus, this method is considered to be insufficient as a measure for reducing the amount of time required for tuning processes.
On the other hand, the method described earlier is only directed to human operations. This technique aims to reduce the number of tuning requests emanating from a remote control at the tuning requesting end. Therefore, while this technique is applicable to the case where a human user makes consecutive tuning requests by operating a remote control or a front panel of a television, it cannot be used for the case where an application(s) makes consecutive tuning requests.